# -*- coding: utf-8 -*-
from django.db import models
from django.template.defaultfilters import default

from datetime import date

from intercampi.models.pessoa import Pessoa
from intercampi.models.evento import Evento
from intercampi.models.turma import Turma

class Aluno(models.Model):
    
    pessoa = models.OneToOneField(Pessoa, verbose_name='Pessoa')
    eventos = models.ManyToManyField('Evento', verbose_name='Eventos de Interesse', null=True, blank=True)
    receberTelefonema = models.BooleanField('Receber noticias por telefone', default=True)
    receberEmail = models.BooleanField('Receber noticias por e-mail', default=True)
    turmas = models.ManyToManyField('Turma', verbose_name='Turmas', null=True, blank=True)
    
    ''' Retorna ultima turma que o aluno participou pela data. '''
    def getUltimaTurma(self):
        if self.turmas.all():
            return self.turmas.all().order_by('-dataInicio')[0]
        else:
            return ''
    getUltimaTurma.short_description = 'Ultima Turma'
    
    ''' Retorna primeira turma que o aluno participou pela data. '''
    def getPrimeiraTurma(self):
        if self.turmas.all():
            return self.turmas.all().order_by('dataInicio')[0]
        else:
            return ''
    getPrimeiraTurma.short_description = 'Primeira Turma'
    
    ''' Retorna telefones do aluno. '''
    def getTelefones(self):
        if self.pessoa.telefone3:
            return '%s / %s' % (self.telefone1, self.telefone3)
        return self.pessoa.telefone1
    getTelefones.short_description = 'Telefones'
    
    def save(self,*args,**kwargs):
        if self.id:
            self.pessoa.dataAtualizacao = date.today()
            self.pessoa.save()
        super(Aluno,self).save(*args, **kwargs)
      
    def __unicode__(self):
        return self.pessoa.nome
    
    class Meta():
        app_label = 'intercampi'
        ordering = ('pessoa__nome',)